package be.kdg.bombermanunlimited.client.gui.startup;

import java.awt.event.ActionEvent;
import java.io.File;

import javax.swing.AbstractAction;
import javax.swing.JFileChooser;

/**
 * Een Action die gekoppeld kan worden aan een JButton om te bladeren naar een map
 * 
 * Deze is specifiek ontworpen om de music folder te selecteren voor het settings gedeelte
 * @author Philip
 *
 */
public class Browse extends AbstractAction {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private ClientSettings settings;

	public Browse(String title, ClientSettings settings) {
		super(title);

		this.settings = settings;
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// er is op de knop gedrukt, start met bladeren.
		
		JFileChooser fc = new JFileChooser();
		fc.setDialogTitle("Select music folder");
		fc.setMultiSelectionEnabled(false);
		fc.setDialogType(JFileChooser.OPEN_DIALOG);
		fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
		fc.setAcceptAllFileFilterUsed(false);
		fc.setCurrentDirectory(new File(settings.getMusicFolder()));

		if (fc.showOpenDialog(settings) == JFileChooser.APPROVE_OPTION) {
			settings.setMusicFolder(fc.getSelectedFile().getAbsolutePath());
		}
	}

}
